package cn.iune.erp.inventory;

import java.math.BigDecimal;
import java.text.ParseException;
import java.util.List;

import com.alibaba.fastjson.JSONObject;

import cn.iune.common.base.IBizDataIface;

public interface IStorageItemService extends IBizDataIface {
	
	public void insert(StorageItem obj);
	
	public void delete(String fID);
	
	public void update(StorageItem obj);

	public List<StorageItem> getAll();
	
	public StorageItem getByID(String fID);

	JSONObject save(JSONObject object) throws ParseException ;

	StorageItem packing(String userId, String enterpriseNo, String enterpriseName);

	BigDecimal getCostingAmount(String enterpriseNo) throws Throwable;

	BigDecimal getQuantityL(String enterpriseNo) throws Throwable;

	StorageItem getByNo(String storageID, String itemID);

	List<StorageItem> getByStorageID(String storageID);

	List<StorageItem> getList(String enterpriseNo);

//	JSONObject querySimple(JSONObject param);

	StorageItem updateQuantityFrozen(String storageID, String itemID, BigDecimal itemQuantity, BigDecimal pieceQuantity,
			String enterpriseNo, String enterpriseName, String userId);

	StorageItem insert(String storageID, String storehouseID, String itemID, String enterpriseNo, String enterpriseName,
			String userId);

	List<StorageItem> getStorageList(String storehouseID, String itemID);

	List<StorageItem> getList(String storehouseID, String enterpriseNo);

	List<StorageItem> getByItemID(String itemID, String enterpriseNo);

	StorageItem storeRegister(String storageID, String storehouseID, String itemID, BigDecimal itemQuantity,
			BigDecimal costingAmount, BigDecimal pieceQuantity, String enterpriseNo, String enterpriseName,
			String userId);

	StorageItem pickRegister(StorageItem si, BigDecimal itemQuantity, BigDecimal costingAmount,
			BigDecimal pieceQuantity, int frozenFlag, String enterpriseNo, String enterpriseName, String userId);

	StorageItem pickRegister(String storageID, String storehouseID, String itemID, BigDecimal itemQuantity,
			BigDecimal costingAmount, BigDecimal pieceQuantity, int frozenFlag, String enterpriseNo,
			String enterpriseName, String userId);

	JSONObject querySimple(JSONObject param, String ossServer);





}